#ifndef _PROCESS_ENUMERATOR_H_
#define _PROCESS_ENUMERATOR_H_

#include "handle.hpp"
#include "process.h"

#include <optional>

namespace windows
{

class process_enumerator
{
public:
    explicit process_enumerator() noexcept;

    std::optional<process> first() const noexcept;
    std::optional<process> next() const noexcept;

private:
    const handle processes_snapshot;
};

} // namespace windows

#endif
